<template>
  <div>
    <div class="header">
      <van-image
        width="60"
        height="60"
        fit="cover"
        round
        :src="userInfo.photo"
      />
      <h2>
        {{ userInfo.name }}
        <br />
        <van-tag color="#fff" text-color="#0098fa">{{
          userInfo.birthday
        }}</van-tag>
      </h2>
    </div>
    <van-row gutter="20">
      <van-col span="8">
        <van-icon name="newspaper-o" color="#0098fa" />
        <span>我的作品</span>
      </van-col>
      <van-col span="8">
        <van-icon name="like-o" color="#ff5867" />
        <span>我的收藏</span>
      </van-col>
      <van-col span="8">
        <van-icon name="tosend" color="#ffa80c" />
        <span>阅读历史</span>
      </van-col>
    </van-row>
    <van-cell-group>
      <van-cell title="编辑资料" icon="edit" is-link @click="$router.push('/edit')" />      
      <van-cell title="小艾同学" icon="chat-o" is-link @click="$router.push('/student')"/>      
      <van-cell title="系统设置" icon="setting-o" is-link />      
      <van-cell title="退出登录" icon="warning-o" is-link @click="logout"/>      
    </van-cell-group>
  </div>
</template>

<script>
import { getUserInfo } from './user.js'
import { removeToken } from '@/utils/token.js'
export default {
  name: 'user',
  data () {
    return {
      userInfo: {}
    }
  },
  created () {

    getUserInfo().then(res => {
      // console.log(res)
      // (1)绑定数据
      this.userInfo = res.data.data
      // (2)更新到vuex
      this.$store.commit('updateUserInfo',res.data.data)
    })
  },
  methods: {
    logout () {
      this.$dialog
        .confirm({
          title: '提示',
          message: '确定退出'
        })
        .then(() => {
          // 点击确认:退出登录
          // (1) 清除token
          removeToken()
          // (2) 跳转登录页
          this.$router.push('/login')

        })
        .catch(() => {
          // on cancel
        })
    }
  }
}
</script>

<style lang="less">
.header {
  height: 100px;
  background-color: #0098fa;
  /* 伸缩盒子 */
  display: flex;
  /* 垂直居中 */
  align-items: center;
  .van-image {
    padding: 0 10px;
  }
  h2 {
    font-size: 18px;
    color: #fff;
    font-weight: 400;
  }
}
/* 2.用户链接 */
.van-row {
  .van-col {
    display: flex;
    margin-top: 10px;
    /* 
    1. 代码意思: 修改主轴方向为垂直方向(元素按照垂直方向排列)
      *默认情况下伸缩盒子主轴是水平方向(默认元素水平方向排列)
    */
    flex-direction: column;
    /* 
    2. 希望元素水平方向居中，但是主轴方向已经是垂直方向(此时水平方向变成次轴)
      *所以水平方向居中 = 次轴方向局中 = align-items
      *justify-content:设置主轴方向对齐方式(默认水平)
      *align-items:设置次轴方向对齐方式(默认垂直)
    */
    align-items: center;
    span {
      /* 
      或者使用display:block
      justify-content:flex-start
      text=align:center
      */
      margin: 5px 0 10px 0;
      font-size: 14px;
    }
  }
}
</style>
